// /*** 
//  * @ ****************************************** 
//  * @Editors: yangyifan yangyf@mw-robot.com
//  * @Date: 2025-03-13 17:55:04
//  * @LastEditTime: 2025-04-30 16:45:12
//  * @Description: 
//  * @ ****************************************** 
//  */
// #include "camera_extrinsic/extrinsic_calibration.h"

// ExtrinsicCalibrator::ExtrinsicCalibrator(const ExtrinsicConfig& config,
//                                        const cv::Mat& camera_matrix,
//                                        const cv::Mat& dist_coeffs)
//     : config_(config),
//       camera_matrix_(camera_matrix.clone()),
//       dist_coeffs_(dist_coeffs.clone())
// {
//     // 生成3D世界坐标点
//     for (int i = 0; i < config_.board_size.height; ++i) {
//         for (int j = 0; j < config_.board_size.width; ++j) {
//             object_points_.emplace_back(
//                 j * config_.square_size,
//                 i * config_.square_size,
//                 0.0f
//             );
//         }
//     }
// }

// bool ExtrinsicCalibrator::processFrame(const cv::Mat& frame) {
//     std::vector<cv::Point2f> corners;
//     if (detectChessboard(frame, corners)) {
//         image_points_buf_.push_back(std::move(corners));
//         return true;
//     }
//     return false;
// }

// bool ExtrinsicCalibrator::calibrate(cv::Mat& rvec, cv::Mat& tvec) {
//     // 实现与之前版本类似，添加参数校验...
// }

// // 其他成员函数实现...